/*
* Copyright (c) 2016 ShopJsp. All Rights Reserved.
 * ============================================================================
 * 版权所有 2011 - 今 北京华宇盈通科技有限公司，并保留所有权利。
 * ----------------------------------------------------------------------------
 * 提示：在未取得SHOPJSP商业授权之前，您不能将本软件应用于商业用途，否则SHOPJSP将保留追究的权力。
 * ----------------------------------------------------------------------------
 * 官方网站：http://www.shopjsp.com
 * ============================================================================
*/
package com.hyyt.shopjsp.util.upload;

import com.hyyt.shopjsp.util.common.Utils;
import org.springframework.web.multipart.MultipartFile;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 工具类 - 上传图片处理
 * 
 * */
public class FileTypeUtil {
	
	/**
	 * 时间格式化，可以加减时间。
	 * 
	 * @param date
	 *            传入时间
	 * @param fileRule
	 *            文件生成目录规则：年月日
	 * @param index
	 *            加减时间
	 * @return 新格式化后时间
	 */
	public static String getSerial(Date date, String fileRule , int index) {
		long msel = date.getTime();
		SimpleDateFormat fm = new SimpleDateFormat(fileRule);
		msel += index;
		date.setTime(msel);
		String serials = fm.format(date);
		return serials;
	}
	
	/**
	 * 时间格式化
	 * 
	 * @param date
	 *            传入时间
	 * @param fileRule
	 *            文件生成目录规则：年月日
	 * @return 新格式化后时间
	 */
	public static String getSerial(Date date, Object fileRule) {
		SimpleDateFormat fm = new SimpleDateFormat( String.valueOf(fileRule) );
		String serials = fm.format(date);
		return serials;
	}
	
	/**
	 * 检查是否是图片格式。
	 * gif,jpg,jpeg,png,bmp
	 * @param imgStr 图片全名称
	 * @return 真假
	 */
	public static boolean checkIsImage(String imgStr) {
		boolean flag = false;
		if (imgStr != null) {
			if (imgStr.equalsIgnoreCase(".gif")
					|| imgStr.equalsIgnoreCase(".jpg")
					|| imgStr.equalsIgnoreCase(".jpeg")
					|| imgStr.equalsIgnoreCase(".png")
					|| imgStr.equalsIgnoreCase(".bmp")) {
				flag = true;
			}
		}
		return flag;
	}

	/**
	 * 检查是否是视频格式。
	 * mp4，flv
	 * @param imgStr 视频全名称
	 * @return 真假
	 */
	public static boolean checkIsVideo(String imgStr) {
		boolean flag = false;
		if (imgStr != null) {
			if (imgStr.equalsIgnoreCase(".mp4") || imgStr.equalsIgnoreCase(".MP4")|| imgStr.equalsIgnoreCase(".flv")|| imgStr.equalsIgnoreCase(".FLV")) {
				flag = true;
			}
		}
		return flag;
	}

	/**
	 * 检查文件是否超出预设大小
	 * @param filePath  文件
	 * @param preinstallSize 预设大小  字节
	 * @return
	 */
	public static boolean checkFileSizeIsOver(MultipartFile filePath, Long preinstallSize) {
		if (Utils.objectIsEmpty(filePath) || Utils.objectIsEmpty(preinstallSize)) return false;
		Long fileSize = filePath.getSize();	//取到图片占字节数
		if (fileSize.compareTo(preinstallSize) > 0) {
			return true;
		}
		return false;
	}
}